From: Lionel Landwerlin Date: Wed, 17 Jul 2013 17:08:35 +0000 (+0100) Subject: st-theme-node-transition: fix paint state corruption X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~3922 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=ad0c4caf1cf686c9c556fc052e4a6bc856e0da59;p=gnome-shell.git st-theme-node-transition: fix paint state corruption https://bugzilla.gnome.org/show_bug.cgi?id=704411 --- diff --git a/src/st/st-theme-node-transition.c b/src/st/st-theme-node-transition.c index c4b6ea15d..a84c8871d 100644 --- a/src/st/st-theme-node-transition.c +++ b/src/st/st-theme-node-transition.c @@ -148,9 +148,13 @@ st_theme_node_transition_update (StThemeNodeTransition *transition, if (st_theme_node_equal (new_node, old_node)) { { - StThemeNodePaintState tmp = priv->old_paint_state; - priv->old_paint_state = priv->new_paint_state; - priv->new_paint_state = tmp; + StThemeNodePaintState tmp; + + st_theme_node_paint_state_init (&tmp); + st_theme_node_paint_state_copy (&tmp, &priv->old_paint_state); + st_theme_node_paint_state_copy (&priv->old_paint_state, &priv->new_paint_state); + st_theme_node_paint_state_copy (&priv->new_paint_state, &tmp); + st_theme_node_paint_state_free (&tmp); } if (clutter_timeline_get_elapsed_time (priv->timeline) > 0)